There are many types of computer aided design (CAD) software which assist in architectural design and drafting. Such software is widely used, as it considerably simplifies the task of drafting plans to scale with such annotations as are required for the needs of the user.
One of the advantages of CAD software is a feature whereby an object can have dimension annotations associated with the object, including dimension lines, extension lines, symbols of termination (e.g. arrowheads, architectural ticks) and dimension text, created automatically. Thus, the dimension can be automatically created for an object as the object is drawn. This considerably simplifies the annotation of the drawing, which had previously had been a very time consuming process.
Some CAD programs allow manual associative dimensioning, by which a dimension annotation can be manually associated with an object, and thereafter if the object is moved the dimension annotation adjusts automatically with the object. This also facilitates the annotation of drawings, however it requires that the user manually attach the dimension to the object in order for changes in the object to be reflected in the associated dimension annotation. Furthermore, if the object is broken, for example if another object is interposed in or superposed onto an intermediate point of the existing object, the associative dimensioning cannot accommodate the new object and new dimensions, so new dimension annotations corresponding to the new object must be manually added and new associations must be established between the existing dimension annotation and the remaining portions of the existing object. This is a time consuming process, particularly during the modification stages of CAD drafting.
For example, adding a window to an existing wall in a CAD drawing requires that the window be inserted at the intended position, that the existing dimension annotations be deleted and that new extension lines, dimension lines, termination symbols and dimension text be created to reflect the new segmentation of the object and/or the addition of any new object (or the removal of an existing object).
It would accordingly be advantageous if dimension annotations were created automatically as objects are created, and automatically associated with the objects as they are created. It would further be advantageous if dimension annotations would change automatically to accommodate any change to the existing objects, such as a new object inserted into a selected position relative to the existing objects or the deletion of an object from a group of objects.